dynamic programming 백준 17485, 진우의 달 여행 (Large) - DP 출발 지점 -> 각 지점으로의 최소 비용 값을 DP 배열에 채워나감 3가지 이동 방향: 왼쪽 아래, 아래, 오른쪽 아래 ex) (3, 5) 지점을 이전 지점으로부터 [왼쪽 아래] 방향으로 이동했을 때, 연료 최소값 1) DP 배열 정의: int[][][] dp dp[i][j][k]: 시작 지점 -> [i][j] 지점까지 이전 윗 행의 지점으로부터 k의 방향으로 이동한 최소 비용 k: 0, 1... DP알고리즘dynamic programming동적 계획법코딩 테스트백준 17485 진우의 달 여행 (Large)DP 백준 1082, 방 번호 - DP, Greedy, 문자열 1) DP 배열 정의: String[] dp dp[cost]: cost원 금액 내로 만들 수 있는 최대 숫자 문자열 출력, 최대 숫자: BigInteger(dp[m]) => dp[] 원소에 Leading-Zero 문자열이 저장될 수 있으므로, BigInteger를 이용하여 Leading-Zero 문자열을 제거 BigInteger 클래스 int, long 범위를 넘어가는 매우 큰 정수를 사용,... DPString백준 1082 방 번호알고리즘그리디greedydynamic programming동적 계획법코딩 테스트DP [BOJ] 2758 로또 아이디어 처음에 Back Tracking으로 구현해서 시간 초과 발생함. n by m matrix 만들고 n번째 자리에 m이 놓일 수 있는 경우의 수를 담았다. 틀렸습니다 dp[][]와 cnt를 실수형 double로 선언해서 틀렸다. 출력이 몇 개인지 묻는 것이므로 정수형 long으로 변경하여 해결함.... 코딩테스트baekjoondynamic programmingbaekjoon 백준 9095번 1,2,3 더하기 문제 풀이 1이 먼저올 때 2가 먼저올 때 3이 먼저올 때 의 각각의 경우의 수를 더해준다... dynamic programming백준알고리즘dynamic programming [BOJ] 2xn 타일링 2 (no.11727) 문제 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. 입력 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000) 출력 첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다. 🤔 생각 언제나 그렇듯 케이스를 나누자. 잔재주보단 케이스 완벽분할에 집중... pythondynamic programmingalgorithmbojalgorithm [ BOJ / C++ ] 13398번 연속합 2 파이썬으로 풀어봤던 코드를 C++로 다시 한번 풀어보았다. 파이썬 코드와 같은 방식으로 풀이하였기 때문에 설명은 생략한다.... dynamic programmingDPbojcppDP BOJ :: 스티커 (no.9465) 상근이의 여동생 상냥이는 문방구에서 스티커 2n개를 구매했다. 스티커는 그림 (a)와 같이 2행 n열로 배치되어 있다. 스티커 한 장을 떼면, 그 스티커와 변을 공유하는 스티커는 모두 찢어져서 사용할 수 없게 된다. 즉, 뗀 스티커의 왼쪽, 오른쪽, 위, 아래에 있는 스티커는 사용할 수 없게 된다. 모든 스티커를 붙일 수 없게된 상냥이는 각 스티커에 점수를 매기고, 점수의 합이 최대가 되게 ... pythondynamic programmingalgorithmbojalgorithm [프로그래머스/파이썬] (동적계획법(Dynamic Programming)) 도둑질 문제 설명 도둑이 어느 마을을 털 계획을 하고 있습니다. 이 마을의 모든 집들은 아래 그림과 같이 동그랗게 배치되어 있습니다. 각 집들은 서로 인접한 집들과 방범장치가 연결되어 있기 때문에 인접한 두 집을 털면 경보가 울립니다. 각 집에 있는 돈이 담긴 배열 money가 주어질 때, 도둑이 훔칠 수 있는 돈의 최댓값을 return 하도록 solution 함수를 작성하세요. 제한사항 이 마을에... dynamic programming코테pythonprogrammers프로그래머스카카오코딩테스트코딩파이썬coding test카카오코테코딩테스트도둑질coding test [백준]9095 문제 풀이... dynamic programmingalgorithmalgorithm 최대 점수 구하기 : Dynamic Programming (냅색 알고리즘) 문제와 유사하게 풀 수 있다. 하지만 결정적인 차이는 '중복'해서 사용할 수 있느냐 인데, 이를 고려하지 않고 풀어서 잘못된 풀이가 나왔다! 나름 한참 고민해서 푼 풀이인데...ㅋㅋ (심지어 답도 맞게 나옴) 중복을 고려하지 않은 틀린 풀이이다. 아무리 고민을 했어도 거꾸로 for문을 돌리는 아이디어 는 생각을 못했을 것 같다. 풀이를 보고도 이해가 안되서 종이에 한참 그려보면서 이해를 했다... dynamic programmingjavascript 알고리즘dynamic programming [02579] 계단 오르기 <그림 1>과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다. 예를 들어 <그림 2>와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다. 계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다. 즉, 한 계단을 밟으면서 이어서 다음... 백준dynamic programming단계별로 풀어보기dynamic programming baekjoon 1463 이건 뭐 간단한 DP문제라 그냥 슥슥 풀었다. 헤헷... dynamic programmingbaekjoonalgorithmCC
백준 17485, 진우의 달 여행 (Large) - DP 출발 지점 -> 각 지점으로의 최소 비용 값을 DP 배열에 채워나감 3가지 이동 방향: 왼쪽 아래, 아래, 오른쪽 아래 ex) (3, 5) 지점을 이전 지점으로부터 [왼쪽 아래] 방향으로 이동했을 때, 연료 최소값 1) DP 배열 정의: int[][][] dp dp[i][j][k]: 시작 지점 -> [i][j] 지점까지 이전 윗 행의 지점으로부터 k의 방향으로 이동한 최소 비용 k: 0, 1... DP알고리즘dynamic programming동적 계획법코딩 테스트백준 17485 진우의 달 여행 (Large)DP 백준 1082, 방 번호 - DP, Greedy, 문자열 1) DP 배열 정의: String[] dp dp[cost]: cost원 금액 내로 만들 수 있는 최대 숫자 문자열 출력, 최대 숫자: BigInteger(dp[m]) => dp[] 원소에 Leading-Zero 문자열이 저장될 수 있으므로, BigInteger를 이용하여 Leading-Zero 문자열을 제거 BigInteger 클래스 int, long 범위를 넘어가는 매우 큰 정수를 사용,... DPString백준 1082 방 번호알고리즘그리디greedydynamic programming동적 계획법코딩 테스트DP [BOJ] 2758 로또 아이디어 처음에 Back Tracking으로 구현해서 시간 초과 발생함. n by m matrix 만들고 n번째 자리에 m이 놓일 수 있는 경우의 수를 담았다. 틀렸습니다 dp[][]와 cnt를 실수형 double로 선언해서 틀렸다. 출력이 몇 개인지 묻는 것이므로 정수형 long으로 변경하여 해결함.... 코딩테스트baekjoondynamic programmingbaekjoon 백준 9095번 1,2,3 더하기 문제 풀이 1이 먼저올 때 2가 먼저올 때 3이 먼저올 때 의 각각의 경우의 수를 더해준다... dynamic programming백준알고리즘dynamic programming [BOJ] 2xn 타일링 2 (no.11727) 문제 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. 입력 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000) 출력 첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다. 🤔 생각 언제나 그렇듯 케이스를 나누자. 잔재주보단 케이스 완벽분할에 집중... pythondynamic programmingalgorithmbojalgorithm [ BOJ / C++ ] 13398번 연속합 2 파이썬으로 풀어봤던 코드를 C++로 다시 한번 풀어보았다. 파이썬 코드와 같은 방식으로 풀이하였기 때문에 설명은 생략한다.... dynamic programmingDPbojcppDP BOJ :: 스티커 (no.9465) 상근이의 여동생 상냥이는 문방구에서 스티커 2n개를 구매했다. 스티커는 그림 (a)와 같이 2행 n열로 배치되어 있다. 스티커 한 장을 떼면, 그 스티커와 변을 공유하는 스티커는 모두 찢어져서 사용할 수 없게 된다. 즉, 뗀 스티커의 왼쪽, 오른쪽, 위, 아래에 있는 스티커는 사용할 수 없게 된다. 모든 스티커를 붙일 수 없게된 상냥이는 각 스티커에 점수를 매기고, 점수의 합이 최대가 되게 ... pythondynamic programmingalgorithmbojalgorithm [프로그래머스/파이썬] (동적계획법(Dynamic Programming)) 도둑질 문제 설명 도둑이 어느 마을을 털 계획을 하고 있습니다. 이 마을의 모든 집들은 아래 그림과 같이 동그랗게 배치되어 있습니다. 각 집들은 서로 인접한 집들과 방범장치가 연결되어 있기 때문에 인접한 두 집을 털면 경보가 울립니다. 각 집에 있는 돈이 담긴 배열 money가 주어질 때, 도둑이 훔칠 수 있는 돈의 최댓값을 return 하도록 solution 함수를 작성하세요. 제한사항 이 마을에... dynamic programming코테pythonprogrammers프로그래머스카카오코딩테스트코딩파이썬coding test카카오코테코딩테스트도둑질coding test [백준]9095 문제 풀이... dynamic programmingalgorithmalgorithm 최대 점수 구하기 : Dynamic Programming (냅색 알고리즘) 문제와 유사하게 풀 수 있다. 하지만 결정적인 차이는 '중복'해서 사용할 수 있느냐 인데, 이를 고려하지 않고 풀어서 잘못된 풀이가 나왔다! 나름 한참 고민해서 푼 풀이인데...ㅋㅋ (심지어 답도 맞게 나옴) 중복을 고려하지 않은 틀린 풀이이다. 아무리 고민을 했어도 거꾸로 for문을 돌리는 아이디어 는 생각을 못했을 것 같다. 풀이를 보고도 이해가 안되서 종이에 한참 그려보면서 이해를 했다... dynamic programmingjavascript 알고리즘dynamic programming [02579] 계단 오르기 <그림 1>과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다. 예를 들어 <그림 2>와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다. 계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다. 즉, 한 계단을 밟으면서 이어서 다음... 백준dynamic programming단계별로 풀어보기dynamic programming baekjoon 1463 이건 뭐 간단한 DP문제라 그냥 슥슥 풀었다. 헤헷... dynamic programmingbaekjoonalgorithmCC